#ifndef TOKEN_H
#define TOKEN_H
#include <iostream>
enum Types
{
    GT,
    MINUS,
    BACKGROUND,
    BRANCH,
    COLON,
    END,
    TEXT,
    LPAREN,
    RPAREN,
    LBLOCK,
    RBLOCK,
    LBRACKET,
    RBRACKET
};
class token
{
public:
    const Types TK_type;
    const std::string value;
    token():TK_type(TEXT),value(){}
    token(Types tp, std::string val):TK_type(tp),value(val){}
    friend std::ostream& operator<<(std::ostream& os,const token& t){
        os <<"Token(" << t.TK_type << ", " << t.value <<")";
        return os;
    }
};
#endif